package com.aaa.vegetablemarketexpress.service;

import com.aaa.vegetablemarketexpress.entity.Dept;

import java.util.List;

/**
 * @FileName: DeptService
 * @Description:
 * @Author: qxh
 * @CreateTime: 2025/9/9 14:21
 * @Version: 1.0.0
 */
public interface DeptService {

    /**
     * 根据ID查询部门
     */
    Dept selectDeptById(Long deptId);

    /**
     * 查询部门列表
     */
    List<Dept> selectDeptList(Dept dept);

    /**
     * 新增部门
     */
    int insertDept(Dept dept);

    /**
     * 修改部门
     */
    int updateDept(Dept dept);

    /**
     * 删除部门
     */
    int deleteDeptById(Long deptId);

    /**
     * 批量删除部门
     */
    int deleteDeptByIds(Long[] deptIds);

    /**
     * 校验部门名称是否唯一
     */
    String checkDeptNameUnique(Dept dept);

    /**
     * 更新部门状态
     */
    int updateDeptStatus(Long deptId, String status);

    /**
     * 获取所有正常状态的部门
     */
    List<Dept> selectAllNormalDept();

    /**
     * 统计部门数量
     */
    int countDept(Dept dept);

    /**
     * 查询所有子部门
     */
    List<Dept> selectChildrenDeptById(Long deptId);
}
